One type of prior art nonvolatile memory is an Erasable Programmable Read-Only Memory ("EPROM"). The EPROM is organized into rows and columns. Memory cells are placed at intersections of word lines and bit lines. Each word line is connected to the gates of a plurality of memory cells in one row. Each bit line is connected to the drains of a plurality of memory cells in one column. The sources of all the memory cells are connected to a common source line. The EPROM can be programmed by a user. Once programmed, the EPROM retains its data until erased. Erasure of the EPROM using ultraviolet light erases the entire contents of the memory. The memory may then be reprogrammed with new data.
The EPROM is typically programmed with programs before being configured into a computer system. Once programmed, the EPROM typically does not allow any reprogramming by a central processing unit ("CPU") of a computer system when the EPROM is installed in the computer system. This is due to the fact that the EPROM is not electrically erasable.
Another type of prior art nonvolatile memory is a flash Erasable and electrically Programmable Read-Only Memory ("flash EPROM"). A typical flash EPROM has the same array configuration as a standard EPROM and can be programmed in similar fashion as EPROM. Once programmed, the entire contents of the flash EPROM can be erased by electrical erasure in one relatively rapid operation. A high erasing voltage is made available to the sources of all the cells in the flash EPROM simultaneously. This results in a full array erasure. The flash EPROM may then be reprogrammed with new data.
Given that flash EPROM is electrically erasable and programmable, the CPU of a computer system can reprogram the flash EPROM without removing the flash EPROM from the computer system. This reprogramming is referred to as in-system writing ("ISW"). With ISW, the CPU controls the reprogramming of the flash EPROM and the programming erasure voltage Vpp is generated locally within the system.
A computer system can include either the EPROM or flash EPROM. For example, the computer system may initially use flash EPROM. Once the manufacturer determines that no future code updates will be required, the computer system production may then switch to using EPROM. The EPROM and the flash EPROM can use the same memory socket in the computer system. This is because they have substantially similar pin configuration and definition. Because the flash EPROM is both electrically programmable and electrically erasable, the computer system can electrically program and electrically erase the flash EPROM in the memory socket, and can contain flash EPROM update software or load this software from a disk driver. When an EPROM is placed in the memory socket, the computer system simply disables the electrical update function to the memory socket by not applying the Vpp voltage to the socket, and by not writing programming and erasure commands to the socket. In contrast, when the computer system uses an ultraviolet light erasable EPROM, an ISW update of the programs in the EPROM is not possible.
One disadvantage of such a system configuration is that the CPU does not know whether an EPROM or a flash EPROM is placed in the memory socket. Thus, the computer system is unable to reconfigure itself in accordance with the type of the memory placed in the memory socket. In addition, data may be corrupted when the CPU of the system attempts to reprogram an EPROM in the socket.